package com.sofwin.service;

import com.github.pagehelper.PageInfo;
import com.sofwin.dto.UserDto;
import com.sofwin.pojo.SysUser;

import java.util.List;

public interface UserService {
    /**
     * 测试方法
     * @param users
     * @return
     */
    boolean saveUsers(List<SysUser> users);

    /**
     * 根据自定义条件来查询用户信息
     * @param user
     * @return
     */
    SysUser selectUser(SysUser user);

    /**
     * 验证用户名和密码
     * @param user
     * @return
     */
    boolean checkLogin(SysUser user);

    /**
     * 根据条件分页查询用户信息
     * @param user
     * @param pageNumber
     * @param pageSize
     * @return
     */
    PageInfo<UserDto> selectUserByPage(SysUser user, Integer pageNumber, Integer pageSize);

    boolean deleteByIds(Integer[] ids);

    boolean saveUser(SysUser user);

    /**
     * 根据id查询用户信息
     * @param id
     * @return
     */
    SysUser selectUserById(Integer id);

    /**
     * 查看用户名是否存在
     * @param userName
     * @return
     */
    boolean selectUserByName(String userName);

    /**
     * 根据角色ID查询当前角色所拥有的细粒度权限
     * @param roleId
     * @return
     */
    List<String> selectUserPermssionsByRoleId(Integer roleId);

    void saveMonitor(Integer id, String currDate, String url, long request_date, String ip);
}
